<?php
require_once('guia/dao_guia.php');
require_once('cliente/dao_cliente.php');
require_once('encomienda/dao_encomienda.php');
require_once('herramientas/parametros/producto/dao_producto.php');
require_once('herramientas/parametros/concepto_envio/dao_concepto_envio.php');
require_once('herramientas/parametros/descuento/dao_descuento.php');

class ci_entregar_edicion extends toba_ci
{
	protected $s__cantidad;
	protected $s__nro_cliente_remitente;
	protected $s__destinatario;
	protected $s__redespacho;
	protected $s__producto;
	protected $s__detalle;
	protected $s__solo_lectura=false;
	protected $s__datos_guia;
	
	/*function evt__guardar()
	{
		try{
			$this->cn()->guardar();
			$this->limpiar();
			toba::notificacion()->agregar("Los datos del comprobante se han guardado correctamente",'info');
			$this->controlador()->set_pantalla('pant_inicial');			
		}catch (toba_error_db $error) {
			$sql_state = $error->get_sqlstate();
			if ($sql_state == 'db_23505') { 
				toba::notificacion()->agregar("El comprobante que desea ingresar ya existe",'info');
			}else{
				throw $error;
			}
		}        
	}*/
	
	function evt__cancelar()
	{    
		//$this->limpiar();
		$this->cn()->resetear();
		$this->controlador()->set_pantalla('pant_inicial');        
	}
	
	function evt__volver()
	{
		//$this->limpiar();
		$this->cn()->resetear();
		$this->set_pantalla('pant_inicial');
	}
	
	function evt__entregar()
	{
		$datos = $this->s__datos_guia;		
		$this->cn()->entregar($datos);
	}
	
	
	//-----------------------------------------------------------------------------------
	//---- form_guia------------------------------------------------------------------
	//-----------------------------------------------------------------------------------
	
	function conf__form_guia(form_guia $form)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia();
			$form->set_datos($datos);					
		}	
	} 
	
	function evt__form_guia__modificacion($datos)
	{
		$this->s__datos_guia = $datos;
	}	

	//------------------------------------------------------------------------------------------------
	//----nro_comprobante-----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	/*function ajax__get_nro_agencia($nro_agencia, toba_ajax_respuesta $respuesta)	
	{    
		
		$datos=dao_guia::get_agencia_origen($nro_agencia);
		$respuesta->set($datos);	
	}*/
	
	
	function ajax__get_nro_comprobante($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$nro_agencia = $valor[0];
		$cod_tipo_comprobante = $valor[1];
		
		$datos=dao_guia::get_nro_guia($nro_agencia,$cod_tipo_comprobante);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}

	function ajax__get_nro_comprobante_ide($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$nro_agencia = $valor[0];
		$tipo_comprobante_ide = $valor[1];
		
		$datos=dao_guia::get_nro_guia_ide($nro_agencia,$tipo_comprobante_ide);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}
	
	
	//------------------------------------------------------------------------------------------------
	//----tipo_comprobante----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function ajax__get_tipo_comprobante($nro_cliente, toba_ajax_respuesta $respuesta)	
	{    
		$condicion_empresa=dao_guia::get_condicion_empresa();
		$cliente=dao_cliente::get_clie($nro_cliente);
		$codicion_remitente = $cliente['cod_condicion_iva'];
		$datos=dao_guia::get_tipo_comprobante($condicion_empresa, $codicion_remitente);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	}
	
	function ajax__get_tipo_comprobante_remito($cod_condicion_pago, toba_ajax_respuesta $respuesta)	
	{    

		$datos=dao_guia::get_tipo_comprobante_remito($cod_condicion_pago);
		$respuesta->set($datos);	
	}
	
	//------------------------------------------------------------------------------------------------
	//---- form_datos_guia----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function ajax__get_datos_remitente($nro_remitente, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_datos_remitente_destinatario_retirador($nro_remitente);
		$respuesta->set($datos);
	}

	function ajax__get_datos_destinatario($nro_destinatario, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_datos_remitente_destinatario_retirador($nro_destinatario);
		$respuesta->set($datos);	
	}
	
	function ajax__get_datos_retirador($nro_retirador, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_datos_remitente_destinatario_retirador($nro_retirador);
		$respuesta->set($datos);	
	}
	
	//-----------------------------------------------------------------------------------
	//---- form_guia_redespacho ---------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_guia_redespacho(form_redespacho $form_ml)
	{
	
	if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia();
			//ei_arbol($datos);
			//$this->s__remitente = $datos['remitente'];
			
			//$form->set_datos($datos);
			//ei_arbol($datos);
					
		}	
		
	}

	function evt__form_guia_redespacho__modificacion($datos)
	{
		//$this->cn()->set_guia($datos);
	}
	
	//-----------------------------------------------------------------------------------
	//---- form_datos_cliente -----------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function get_remitente($nro_cliente)
	{
		return dao_guia::get_cliente($nro_cliente);
	}	
	
	function get_destinatario($nro_cliente)
	{
		return dao_guia::get_cliente($nro_cliente);
	}	
	
	function get_retirador($nro_cliente)
	{
		return dao_guia::get_cliente($nro_cliente);
	}	
	
	function conf__form_datos_cliente(form_datos_cliente $form)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia();
			//ei_arbol($datos);	
			//$this->s__nro_cliente_remitente = $datos['remitente'];
			//$this->s__destinatario = $datos['destinatario'];

			$form->set_datos($datos);
			
		}
			
	}

	function evt__form_datos_cliente__modificacion($datos)
	{
		/*if($this->get_cn()->hay_cursor_investigador()){
			$this->get_cn()->set_investigador($datos);
			
		}else{
			$id=$this->get_cn()->agregar_investigador($datos);
			$this->get_cn()->set_cursor_investigador($id);
		}*/
		
		/*$this->s__datos_guia['remitente'] = $datos['remitente'];
		$this->s__datos_guia['destinatario'] = $datos['destinatario'];
		
		$this->s__datos_guia['cod_tipo_estado_envio'] = 1;
		$this->s__datos_guia['cod_tipo_estado_comprobante'] = 1;
		$this->s__datos_guia['cod_tipo_comprobante'] = 1;*/
		

		$this->cn()->set_guia($this->s__datos_guia);
	}

	//----------------------------------------------------------------------------------------------
	//---- form_guia_detalle -----------------------------------------------------------------------
	//----------------------------------------------------------------------------------------------
	
	function get_producto($cod_producto)
	{
		return $cod_producto;
	}
	
	/*function get_medida($cod_medida)
	{
		return dao_guia::get_medidas($cod_medida);
	}*/
	
	function get_unidades($cod_unidad)
	{
		return dao_guia::get_unidad($cod_unidad);
	}
	
	function get_tarifa_pes($agencia_origen,$agencia_destino,$peso)
	{
		return dao_guia::get_tarifa_por_peso($agencia_origen,$agencia_destino,$peso);
	}
	
	function conf__form_guia_detalle(form_guia_detalle $form_ml)
		
	{
		
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle();
			$form_ml->set_datos($datos);
			//ei_arbol($datos);
					
		}
		
		//if(is_array($this->s__detalle) && !empty($this->s__detalle)){
			//$form_ml->set_datos($this->s__detalle);
		//}else{
			//$datos = $this->cn()->get_guia_detalle();
			//ei_arbol($datos);
			//if(is_array($datos) && !empty($datos)){
				//if($this->s__solo_lectura){
					//$form_ml->set_solo_lectura(null,true);	
					//$form_ml->desactivar_agregado_filas();				
				//}
				//$form_ml->set_datos($datos);
				//ei_arbol($datos);				 
			//}
		//}
	}
	
	function evt__form_guia_detalle__modificacion($datos)
	{

		$i=156;
		
		//ei_arbol($datos);
		foreach ($datos as $dato)
		{
			
			$this->s__cantidad += $dato['cantidad'];
			//$dato['apex_ei_analisis_fila'] = 'A';
			//$ide['x_dbr_clave']=$i;
			//$guia_ide[$i] = $ide;
			//$i++;
		}
		
		
		//unset($this->s__cantidad);    
		//$this->s__cantidad = $guia_ide;
		$this->cn()->procesar_guia_detalle($datos);
		//$this->cn()->set_guia_detalle($datos);
	}	
	
	function ajax__get_datos_producto($cod_producto, toba_ajax_respuesta $respuesta)	
	{    
		
		$datos=dao_guia::get_descripcion_producto($cod_producto);
		$respuesta->set($datos);	
	
	}
	
	/*function get_tarifa($agencia_origen,$agencia_destino, $peso)
	{
		return dao_guia::get_tarifa($agencia_origen,$agencia_destino,$peso);
	}*/
	
	/*function get_tarifa_volumen($peso,$largo,$ancho,$alto)
	{
		return dao_guia::get_tarifa_volumen($peso,$largo,$ancho,$alto);
	}*/
	
	/*function get_tarifa_volumen ($peso,$largo,$ancho,$alto)
	{
		
		$volumen_aforado= (($largo * $ancho * $alto) / 6000);
		
		if ($volumen_aforado > $peso) {
			
			return $volumen_aforado;
		}
		
		if ($volumen_aforado < $peso) {
			
			return $peso;
		}
	}*/
	
	function ajax__get_tarifa_peso($valor, toba_ajax_respuesta $respuesta)	
	{    
		$agencia_origen = $valor[0];
		$agencia_destino = $valor[1];
		$peso = $valor[2];
		
		$datos=dao_guia::get_tarifa_peso($agencia_origen,$agencia_destino,$peso);
		//ei_arbol($datos);
		$respuesta->set($datos);
	}
	
	
	function ajax__get_tarifa_aforado($valor, toba_ajax_respuesta $respuesta)	
	{    
		$agencia_origen = $valor[0];
		$agencia_destino = $valor[1];
		$peso = $valor[2];
		$largo = $valor[3];
		$ancho = $valor[4];
		$alto = $valor[5];
		
		//$aforado = $this-> get_tarifa_volumen($peso,$largo,$ancho,$alto);
		$aforado = dao_guia::get_tarifa_volumen($peso,$largo,$ancho,$alto);
	
		$datos=dao_guia::get_tarifa_aforado($agencia_origen,$agencia_destino,$aforado);
		//ei_arbol($datos);
		$respuesta->set($datos);	
		
	}
	
	//------------------------------------------------------------------------------------------------
	//---- form_concepto_envio------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	function get_cod_concepto_envio($cod_concepto){
		return $cod_concepto;
	} 
	
	function conf__form_concepto_envio(toba_ei_formulario_ml $form_ml)
	{
		$datos=dao_concepto_envio::get_concepto_envios_obligatorios();
		$form_ml->set_datos($datos);
		
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle_concepto_envio();
			$form_ml->set_datos($datos);
			//ei_arbol($datos);			
		}
	
	}
	
	function evt__form_concepto_envio__modificacion($datos)
	{
		$this->cn()->procesar_guia_detalle_concepto_envio($datos);
	}
	
	
	function ajax__get_descripcion_concepto_envio($cod_concepto, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_descripcion_concepto_envio($cod_concepto);
		$respuesta->set($datos);	
	}
	
	function ajax__get_monto_flete($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$peso = $valor[0];
		$medida = $valor[1];
		
		$datos=dao_guia::get_monto_flete($peso,$medida);
		//ei_arbol($datos);
		$respuesta->set($datos);	
	
	}
	
	//------------------------------------------------------------------------------------------------
	//---- form_descuento-----------------------------------------------------------------------------
	//------------------------------------------------------------------------------------------------
	
	
	function get_descuentos($cod_descuento){
		return $cod_descuento;
	} 
	
	function conf__form_descuento(form_descuento $form_ml)
	{
		
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle_descuento();
			$form_ml->set_datos($datos);
			//ei_arbol($datos);			
		}
		
	}

	function evt__form_descuento__modificacion($datos)
	{
		$this->cn()->procesar_guia_detalle_descuento($datos);
	}
	
	
	function ajax__get_datos_descuento($cod_descuento, toba_ajax_respuesta $respuesta)	
	{    
		$datos=dao_guia::get_descripcion_descuento($cod_descuento);
		$respuesta->set($datos);	
	}
	
	function ajax__get_monto_descuento($valor, toba_ajax_respuesta $respuesta)	
	{    
		
		$cod_descuento = $valor[0];
		$monto = $valor[1];
		
		$datos=dao_guia::get_monto_descuento($cod_descuento,$monto);
		$respuesta->set($datos);
	}
	
	//-----------------------------------------------------------------------------------
	//---- form_guia_forma_pago ---------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_guia_forma_pago(form_forma_pago $form_ml)
	{
		if($this->cn()->hay_cursor_guia()){
			$datos=$this->cn()->get_guia_detalle_forma_pago();
			$form_ml->set_datos($datos);
			//ei_arbol($datos);			
		}
	}

	function evt__form_guia_forma_pago__modificacion($datos)
	{
		
		$this->cn()->procesar_guia_detalle_forma_pago($datos);
		
	}

	//-----------------------------------------------------------------------------------
	//---- form_total -------------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_total(form_total $form)
	{
	}

	function evt__form_total__modificacion($datos)
	{
	}

	//-----------------------------------------------------------------------------------
	//---- form_observacion -------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_observacion(sigenc_ei_formulario $form)
	{
	}

	function evt__form_observacion__modificacion($datos)
	{
		$this->s__datos_guia['observacion'] = $datos['observacion'];
	}

	//-----------------------------------------------------------------------------------
	//---- form_guia_ide ----------------------------------------------------------------
	//-----------------------------------------------------------------------------------

	function conf__form_guia_ide(form_guia_ide $form_ml)
	{
		//ei_arbol($this->s__cantidad);
		$datos=null;
		$x=(156 + $this->s__cantidad);
		
		for ($i=156; $i < $x; $i++){
			
			$dato['x_dbr_clave']=$i;
			$datos[$i]= $dato;
			
			
			//$ide['cod_ide']=
			
			//ei_arbol($ide);
		}
		
		$form_ml->set_datos($datos);
	}

	function evt__form_guia_ide__modificacion($datos)
	{
		
	
		//ei_arbol($datos);
		
		 $i=156;
		 foreach ($datos as $dato)
		{
			
			$this->s__cantidad += $dato['cantidad'];
			//$dato['apex_ei_analisis_fila'] = 'A';
			//$ide['x_dbr_clave']=$i;
			//$guia_ide[$i] = $ide;
			//$i++;
		}
		
	}


}
?>
